1. Field of the Invention
This invention pertains generally to media content identification methods. More particularly, the invention is an apparatus and method for identifying media content presented on a media playing device and presenting media-content related information and/or action to the user of the media playing device.
2. The Prior Art
The use of a data processing means, such as a computer or personal digital assistant (PDA), for playing media content is well known. For example, many users use their personal computer (PC) for playing audio compact disks (CD), normally with the use of a CD-ROM drive, a sound card, and speakers. Other types of media, including various formats of audio and video, are also commonly played using a PC.
With the increasing popularity of the global information network commonly known as the xe2x80x9cInternetxe2x80x9d, various audio and video formats have been introduced to provide live (as well as archived) media broadcasts over the Internet. These broadcasts may be viewed by users connected to the Internet with the use of a PC and the proper client application. For example, Real Networks(trademark) provides Real Player(trademark) (a client application) for playing streaming audio and video content (in Real(trademark) format) which is broadcast over the Internet. Various servers (also connected to the Internet) carry out the operation of making such content available and streaming the appropriate content to users upon request. In this way, Real(trademark) media content may be played by a user using Real Player(trademark) on the user""s PC. Like other media client applications, Real Player(trademark) plays audio content via the user""s sound card and speakers and video content via the user""s video card and monitor (or other viewing device).
Internet radio broadcasts (or webcasts) are also known in the art. In general, Internet radio broadcasts are provided over the Internet by one or more server computers equipped to provide streaming audio content, much like traditional AM or FM radio broadcast. A user that would like to listen to an Internet radio broadcast would use a client application (such as Real Player(trademark), Microsoft(trademark) media player, or Apple QuickTime(trademark) viewer, for example) and direct the client application to the appropriate server computer. The server computer then transmits the media content to the client application via the Internet. The client application receives the media content transmitted from the server computer and plays the content using the user""s sound card and speaker.
Internet video broadcasts (another form of webcast) are carried out in a similar fashion to that of Internet radio broadcasts, except video broadcasts typically contain both audio and video content. As such, the audio component is played to the user via a sound card and speakers, while the video component is displayed using a video card and a monitor.
In many cases, media content webcasts will not provide content identifying information, such as song title, artist name or album name, as part of the media broadcast. Other information, such as where the content can be purchased in the form of a CD, DVD (digital video disk) or VHS (video home system) tape, for example, are also typically not included. The primary reason a webcast provider (station) fails to provide such content-related information is that the station does not have real-time access to accurate playlists. For example, it is common for a station disk jockey to make real-time adjustments to the playlist order and timing. Thus current radio station systems do not transmit with or attach content data with the broadcast.
In addition to webcasts, many Internet sites provide archived or prerecorded media content for download and playback on a user""s PC. Examples of such content include xe2x80x9cwavxe2x80x9d, xe2x80x9cmp3xe2x80x9d, xe2x80x9cmovxe2x80x9d, and xe2x80x9cmidixe2x80x9d files, among others. Once these files have been downloaded from the Internet site to the user""s PC, the user is able to play back the audio or video using an appropriate client application. Many of these media files, like webcasts, also fail to provide content identifying and other information.
Additionally, PCs often have the ability to play other forms of media content via PC sound card and speakers and/or PC video card and monitor. For example, tuner expansion cards (tuners) which may be inserted into (or interfaced with) a user""s PC are presently available (some computers already include such tuners). In either case, xe2x80x9ctelevisionxe2x80x9d (TV) tuners allow a user of the PC to view conventional television, cable or satellite transmissions on the PC monitor and hear the audio via the PC speaker. xe2x80x9cRadioxe2x80x9d tuners allow a user to hear conventional (FM or AM) radio broadcast using the PC speaker. Conventional TV and radio broadcast also fail to provide rich content-related information to the user.
Other media playing devices such as televisions, radio/stereo systems, and portable audio devices also typically do not provide content-related information on demand for the user. For example, in automobiles, current car stereo systems fail to provide a system and method for identifying the music being played on the stereo. Typically a user would either rely on the disk jockey to identify the artist and song title or call the radio station to ascertain the information.
Accordingly, there is a need for an apparatus and method which provides real-time media content-related information and context specific actions choices to users viewing and/or listening to media content over media playing devices. The present invention satisfies these needs, as well as others, and generally overcomes the deficiencies found in the background art.
The present invention is a system and method for identifying media content presented over a media playing device, such as a computer. The system generates a media sample or analytical representation of the media content, such as audio and/or video, played on the media player. The media sample or representation is compared to a database of sampled media content or representations to query and ascertain information related to the sample. This media content-related information is then displayed on the media player.
The invention further relates to machine readable media on which are stored embodiments of the present invention. It is contemplated that any media suitable for retrieving instructions is within the scope of the present invention. By way of example, such media may take the form of magnetic, optical, or semiconductor media. The invention also relates to data structures that contain embodiments of the present invention, and to the transmission of data structures containing embodiments of the present invention.
By way of example only, and not of limitation, the media player may comprise any data processing means or computer executing the present invention including devices carrying out the invention via an embedded system. For example, the media player may comprise cellular or mobile phones, portable media players, and fixed media players including analog broadcast receivers (such as car stereo, home stereos, televisions, for example).
In a first embodiment, the database of sampled media content resides on a xe2x80x9clookup serverxe2x80x9d which carries out the database query described above. In general, the lookup server is operatively coupled for communication to one or more media players (client) via the Internet as is known in the art. Under this arrangement, the media sample is first communicated from the client to the lookup server before the media sample is compared to the database. Then after the database query is carried out on the lookup server, the content-related information is transmitted to the client for presentation thereon.
According to this embodiment, the system of the present invention generally includes one or more client media players, each operatively coupled for communication to a lookup server. As noted above, the lookup server is generally connected to the client media players via an Internet connection, although any suitable network (including wired or wireless) connection may also be used.
For example, the client media player may comprise a computer. The client computer typically plays audio files via a sound card and speakers. Video files are played via a video card and a monitor. The client computer has executing thereon a xe2x80x9cclient enginexe2x80x9d software application comprising a sampling unit, a media intercept unit (intercept unit), and a user-interface.
By way of example, and not of limitation, the intercept unit carries out the operation of monitoring the client computer for media content presented thereon. In general, the intercept unit carries out the operation of monitoring audio signals transmitted to the sound card and/or video signals transmitted to the video card. The intercept unit may also monitor the operations of other hardware suitable for communicating audio and/or video signals, such as USB (universal serial bus) and IEEE (Institute of Electrical and Electronics Engineers) standard 1394 connections, for example. Preferably, the intercept unit maintains a FIFO (first in first out) buffer of fixed size (150 seconds, for example) containing media content played on the client.
The sampling unit carries out the operation of creating a media sample of the media content played on the client computer in order to represent and identify the media content. In general, the sampling unit creates a sample from the FIFO buffer maintained by the intercept unit. The sampling unit may create media samples according to a predetermined or user-defined interval or upon the request of the user of the client computer. User request may be received via commands issued using the user-interface. In general, the media sample created by the sampling unit comprises a xe2x80x9cdigital fingerprintxe2x80x9d or xe2x80x9cdigital signaturexe2x80x9d using conventional digital signal processing known in the art. For example, a sound file may be sampled according to its acoustic/perceptual features over time. It is noted that xe2x80x9cmedia samplexe2x80x9d is defined herein to include actual recordings of the media content and/or analytical representations of the media content. The media sample is then transmitted to the lookup server for further processing, as described in further detail below.
The user interface carries out the operation of receiving commands from a user of the client computer, and displaying content-related information to the user. As noted above, a user may issue a request for content-related information via the user-interface. This request is communicated to the sampling unit for further processing. As described above, in response to this request, the sampling unit creates a sample of the media content being played on the client computer and transmits the sample to the lookup server for further processing. In response, the lookup server provides the information related to the media sample to the client computer. This content-related information is received by the user interface which then displays the received information to the user of the client computer.
The content-related information returned from the lookup server may also be used for a plurality of purposes including, for example, generating a log of the user activity, providing an option to purchase media to the user, and displaying the content-related information on the media playing device, among others.
The lookup server has executing thereon a xe2x80x9cserver enginexe2x80x9d software application comprising a lookup unit, and a log unit. The lookup unit is further coupled to a media database, and the log unit is coupled to a log database. While the present invention describes the lookup server as a single machine, a group or cluster of server machines may be used to carry out the tasks of the lookup server described herein to thereby balance the load between several machines as is known in the art.
The lookup unit carries out the operation of receiving media samples from client computers and performing database queries on the media database to ascertain content information related to the media sample provided. This content-related information may include such information as song title, artist, album name, for example. The content-related information may also include product fulfillment information, such as how and where to purchase media containing the media sample, advertising banners, and/or promotional offers, for example. This content-related information is transmitted back to the client computer for further processing thereon.
The log unit caries out the operation of tracking media requests made by the users of the client computers to the lookup server. The log unit maintains a plurality of information related to the requests made by the user including, for example, media type, genre or category. This user information is maintained in the log database.
The source of the media content played on the client computer includes conventional media sources such as Internet sources or Webcasts, including streaming media and archived media. The media content source may also be audio CDs, DVD, or other formats suitable for presentation on media playing devices, such as the client computer.
In a second embodiment of the present invention, the database of sampled media content resides within the client computer. The database resides on conventional storage medium, such a computer memory, a hard drive, CD-ROM, or other appropriate storage medium. Under this arrangement, the database query is carried out xe2x80x9clocallyxe2x80x9d on the computer playing the media content. It will be readily apparent to those skilled in the art that various other topological arrangements of the system elements (including the location of the database) may be used with the invention without departing from the scope and spirit of the invention.
An object of the invention is to provide an apparatus and method for identifying media content presented over a media playing device which overcomes the deficiencies of the prior art.
Another object of the invention is to provide an apparatus and method for identifying media content presented over a media playing device which does not require the media content provider to provide content-related information.
Further objects and advantages of the invention will be brought out in the following portions of the specification, wherein the detailed description is for the purpose of fully disclosing the preferred embodiment of the invention without placing limitations thereon.